查看原文
其他

程序员之神

GitHubDaily 2020-02-24

The following article comes from 金捷幡 Author 金捷幡

公众号关注 “GitHubDaily
设为 “星标”,带你了解圈内新鲜事!



很多人认为程序员应该供的神里面排名第一的应该是 Linus Torvalds,因为他是 Linux 和 Git 之父。


然而我要试图反驳这个观点,因为地球上有另外一位伟大的程序员,有超过四代码农用他的开发工具吃饭。


Linux 只用 C 编程而且不到 30 年,而这位神级程序员在近 40 年中一直创造引领潮流的开发工具 (Turbo Pascal/Delphi/C#/TypeScript),他就是 Anders Hejlsberg。



一、


Anders 并没有大学文凭,但这丝毫不重要。当年微软 Server 部门负责人 Bob Muglia 认为,地球上只有几个人可以做出伟大的开发工具架构,Anders 还是其中那个最棒的,顶尖中的顶尖。


当时,Anders 在微软的竞争对手 Borland 工作。微软试图挖了他一年,但都被婉拒。


比尔盖茨打电话给 Anders,说我可以做什么才能让你来。Anders 后来回忆说,那是他人生特别尴尬的一个时刻。他已经财务自由,只想做自己热爱的事。


1996 年,Anders 和 Borland 高层有些意见分歧,微软趁机开出每年 300 万美元的高额待遇,更重要的是许诺他可以享有充分的协作资源,终于把这位英雄招至麾下。从后来的贡献看,也许 3000 万请到 Anders,也不会亏。




二、


Anders 是 1960 年出生在丹麦,父亲是摩托罗拉的工程师,典型的科技家庭。Anders 在上中学时就开始编程,他回忆说那时用的 HP2100 还是纸带编程。上大学时有个高年级学生喜欢玩 Mousehole 纸牌游戏,但是老输钱给 Anders,觉得他很牛,就请他合伙一个小公司叫 Polydata。


Anders 有台 Z80,这电脑只有 4Mhz CPU 和 32K 内存,上面有微软 Basic。结果 Anders 玩了一天就玩腻了,随后开始玩汇编。大神在 20 岁就显露了神迹,他两三个星期就写出了 Pascal 编译器,并卖给了一个英国公司。然后大神就辍学了,并在多个平台包括 DOS 上重写了 Pascal 编译器。


1983 年,当时 Borland 还是个丹麦公司,自己做编译器做得很烂,找到 Anders 买了他的编译器并整合成 Turbo Pascal。微软 CTO 在一次节目中说,这应该是 PC 上面第一个真正的集成开发环境 (IDE),但 Anders 很谦虚地说他不知道。


(Turbo Pascal 截图,好喜欢这个 begin...end)


当时 Anders 并未加入 Borland,因为 Borland 后来搬到硅谷去了。Anders 选择远程服务,因为当时并没有互联网也没有 email,当时寄代码都是靠联邦快递。


1989 年,Anders 自己的公司 Polydata 经营不太好,加上女友很向往去美国,他就决定去美国加入 Borland。



三、


Borland 当然喜出望外,任命 Anders 为首席程序员。在 Turbo Pascal 成功后,Borland 又发布了 Turbo C,从而扬名天下。中国第一代程序员好像都是用 Turbo C 的,包括伟大的王小波同志。


而 Anders 的主要任务,是秘密开发可视化环境的超级 IDE:Delphi。当时微软已经推出自己的 Visual Basic 大获好评,但一碰到直接编译二进制 EXE 的 Delphi 立刻被秒成渣渣。


Delphi 使用 Object Pascal,语言设计极其优雅,完美面向对象,完美结合数据库,而且可以直接操控操作系统 (硬件和网络等),应该说开发 Windows 原生程序堪称完美。有意思的是,Delphi 上面的 VCL 和 RTL 库都是用 Delphi 自己开发自己的,自带的源代码可以让程序员学习真正高手是怎么编程的。
Delphi 2 截图


当年国内大量著名程序都使用了 Delphi,包括张小龙的 Foxmail 和雷军的 WPS。


后来著名的 Borland C++ 也被直接移植架在 Delphi 上,这就是 C++ Builder。


这时我似乎听到盖茨在叹息,我非得此人不可。




四、


Anders 加入微软时,正是互联网风起云涌之时。Sun 刚发布了跨平台可以到处运行的 Java,微软感觉生态受到严重威胁,抓紧开发 Visual J++ 和 WFC,Anders 成了主导人物。VJ++ 很快成为世界上最快的 Java 编译器,并支持 ActiveX 等微软生态产品。


Sun 发现微软不用自己的 Java 虚拟机,搞出个更快的东西。他们深深忧虑被微软分裂了 Java,所以果断起诉了微软。结果微软败诉,被迫在 VJ++ 页面承认和 Sun Java 不兼容,导致了 VJ++ 的最终失败。


Anders 第一次碰到自己的产品不是因为性能问题而失败,他承认自己有点天真了。短暂沮丧之后立刻恢复了大神本色:我们微软要自己搞一套和 Java 竞争的平台。


这就是 2000 年发布的 C# 和.net 平台。Anders 设计的 C# 也是优美的面向对象速度也经常快于 Java。十几年过去,C# 依旧是互联网开发的主力语言之一。


Logo 版权:微软




五、


近年来开源软件风起云涌,PHP/Python/Ruby/Swift 等热度高升,年轻人都不记得 Anders 这个大叔了。结果在大家最意想不到的地方,大神再次亮剑。


JavaScript (JS) 是互联网使用最多的脚本语言,而这个原本不该是 Anders 的强项,因为他是搞高大上的机器码编译器而不是低级的脚本的。然而,Anders 再次推出 TypeScript 震撼了程序圈。


TypeScript 是编译输出 JavaScript 的工具,也是 JS 的超集。它不仅可以输出客户端的 JS,还可以输出服务端大热的 Node.js。TypeScript 大大提高了程序员写 JS 的效率和降低了差错的概率。


更难能可贵的是,作为顶级 Geek,Anders 积极拥抱开源社区,推动微软从封闭走向开放。TypeScript 就是微软最早的开源产品之一。纳德拉上台后,Anders 更是促成 Visual Studio 免费的重要推手,这个开发套件了包括了 C# 和 TypeScript。



六、


在很多新兴语言变得越来越臃肿复杂的当下,程序员们怎么评价 Anders 的作品呢:有品味,优雅,简洁。Anders 说,这是因为他对编程充满了热情。


年近 60 的 Anders 今天仍旧在写程序,他说一旦停止写代码后,就会膨胀飞起来,忘了程序员真正需要什么。我们现在还能看到他每个月在 Github 提交的代码。


(GitHub 截图)


我自己在 90 年代用过 Delphi,排第一肯定有偏心的成分。特以此文致敬我心目中最伟大的程序员:Anders Hejlsberg。
推荐阅读:
凭算法突围,一战赚了 1090 亿,“恐怖” 的张一鸣!
不服 SOLO:腾讯绝悟 AI 击败王者荣耀顶尖职业玩家
一个女生不主动联系你还有机会吗?
2019 年 JavaScript 现状调查报告火热出炉

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存